package cn.b.sky.form.dao;

import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface FormObjectDao {

  /**
   * 
   * <strong>Title : selectFormObjectByBussinessKey<br></strong>
   * <strong>Description : </strong>查询formObject<br> 
   * <strong>Create on : 2016-11-14 下午5:11:43<br></strong>
   * <p>
   * @param sql
   * @param siteCode
   * @param bussinessKey
   * @return
   * Map<String,Object>
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<Map<String, Object>> selectFormObjectByBussinessKey(@Param(value = "formDataSql") String sql,
                                                           @Param(value = "siteCode") String siteCode, @Param(value = "bussinessKey") String bussinessKey);

  /**
   * 
   * <strong>Title : selectTableMataDatas<br></strong>
   * <strong>Description : </strong>获取表的所有列clomuns，不区分大小写<br> 
   * <strong>Create on : 2016-11-17 下午5:55:51<br></strong>
   * <p>
   * @param tableName 表名
   * @return
   * List<Map<String,Object>> key:COLUMN_NAME value: 列名 
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<Map<String, Object>> selectTableMataDatas(String tableName);

  /**
   * 
   * <strong>Title : insertFormObject<br></strong>
   * <strong>Description : </strong>保存formObject<br> 
   * <strong>Create on : 2016-11-17 下午6:46:50<br></strong>
   * <p>
   * @param params
   * void
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void insertFormObject(Map<String, Object> params);

  /**
   * 
   * <strong>Title : updateFormObject<br></strong>
   * <strong>Description : </strong>修改formObject<br> 
   * <strong>Create on : 2016-11-24 上午10:15:48<br></strong>
   * <p>
   * @param params
   * void
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updateFormObject(Map<String, Object> params);

}
